#!/bin/sh
##############################################################################
# Name:       misc/scripts/inc_release
# Purpose:    increments the release version number in all files mentioned in
#             docs/contributing/about-version-numbers.md
# Created:    2007-01-07
# Copyright:  (c) 2007 Vadim Zeitlin <vadim@wxwidgets.org>
# Licence:    wxWindows licence
##############################################################################

. `dirname $0`/run_sed_common.sh

# the primary source of information is wx/version.h
ver_string=`grep '#define wxVERSION_STRING ' include/wx/version.h | sed 's/^.*"wxWidgets \(.*\)")/\1/'`
ver_major=`echo $ver_string | sed 's/\([0-9]\{1,\}\)\..*/\1/'`
ver_minor=`echo $ver_string | sed 's/.*\.\([0-9]\{1,\}\)\..*/\1/'`
ver_release=`echo $ver_string | sed 's/.*\.\([0-9]\{1,\}\)$/\1/'`

msg "Original version is $ver_major.$ver_minor.$ver_release"

ver_release_new=$(($ver_release + 1))
ver_string_new=$ver_major.$ver_minor.$ver_release_new

msg "Updating version to $ver_string_new"

ver_for_sed="$ver_major\.$ver_minor\.$ver_release"

run_sed configure.in \
    "/^AC_INIT/s/$ver_for_sed/$ver_string_new/" \
    "s/^wx_release_number=$ver_release/wx_release_number=$ver_release_new/" \
    "s/^wx_subrelease_number=.*$/wx_subrelease_number=0/"

run_sed build/osx/wxvers.xcconfig \
    "/DYLIB_.* = /s/$ver_for_sed/$ver_string_new/"

run_sed docs/readme.txt \
    "/wxWidgets /s/$ver_for_sed/$ver_string_new/" \
    "/\//s/$ver_for_sed/$ver_string_new/" \
    "/naming: while/s/$ver_for_sed/$ver_string_new/" 

run_sed docs/doxygen/Doxyfile \
    "/^PROJECT_NUMBER/s/$ver_for_sed/$ver_string_new/"

run_sed include/wx/version.h \
    "s/^\(#define wxRELEASE_NUMBER *\) $ver_release$/\1 $ver_release_new/" \
    "s/^\(#define wxSUBRELEASE_NUMBER *\) [0-9]\{1,\}$/\1 0/" \
    "/^#define wxVERSION_STRING/s/$ver_for_sed/$ver_string_new/"

run_sed include/wx/osx/config_xcode.h \
    "/^#define PACKAGE/s/$ver_for_sed/$ver_string_new/"

run_sed samples/minimal/Info_cocoa.plist \
    "/<string>/s/$ver_for_sed/$ver_string_new/"

run_sed samples/docview/Info.plist \
    "/versionon/s/$ver_for_sed/$ver_string_new/" \
    "/<string>/s/$ver_for_sed/$ver_string_new/"

run_sed build/msw/wx_setup.props \
    "/<wxVersionString>/s/\($ver_major$ver_minor\)$ver_release/\1$ver_release_new/"

run_sed build/tools/msvs/getversion.bat \
    "/wxRELEASE_NUMBER=/s/$ver_release/$ver_release_new/"

msg "Don't forget to change the C:R:A triplet in build/bakefiles/version.bkl now!"
